﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FlexFlow.Model
{
    /// <summary>
    /// 表示一个活动，活动为包含某项操作的节点，由路由指向，由连接线连接
    /// </summary> 
    [Serializable]
    public class Activity : PhysicalModel,INamedPhysicalModel
    {
        /// <summary>
        /// 表示该活动的名称
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 表示该活动的类型字符串
        /// </summary>
        public string Type { get; set; }
        /// <summary>
        /// 表示该活动所在的流程ID
        /// </summary>
        public Guid ProcessId { get; set; }
        /// <summary>
        /// 表示该活动关联的操作者列表
        /// </summary>
        public string Operators { get; set; }
        /// <summary>
        /// 表示该活动关联的表单模板实例
        /// </summary>
        public Guid? FormTemplate { get; set; }
        /// <summary>
        /// 表示该活动关联的组织机构列表
        /// </summary>
        public string Organizations { get; set; }
        /// <summary>
        /// 表示该活动的设置集合
        /// </summary>
        public Dictionary<string, string> Options { get; set; }
        /// <summary>
        /// 表示该活动的插槽集合
        /// </summary>
        public DataSlot[] DataSlots { get; set; }
    }
}
